package com.proxyhub.repo;

import com.proxyhub.model.Proxy;

import java.util.List;

/**
 * Created by linxsh on 2017/6/15.
 */
public interface ProxyRepo {
    /**
     * 保存
     * @param proxy
     */
    void save(Proxy proxy);

    void save(List<Proxy> proxyList);

    /**
     * 保存或更新
     * @param proxy
     */
    void saveOrUpdate(Proxy proxy);

    void saveOrUpdate(List<Proxy> proxyList);

    /**
     * 查找出所有可用的代理
     * @return
     */
    List<Proxy> findAll();

    /**
     * 获取指定数量的可用代理
     * @param num
     * @return
     */
    List<Proxy> fetch(int num);

    void updateValidStatus(Proxy proxy, boolean valid);

    /**
     * 库中不存在就保存，否则舍弃
     * @param proxy
     */
    void insertIfNotExist(Proxy proxy);

    void insertIfNotExist(List<Proxy> proxy);
}
